#include<memory.h>
#include<stdio.h>
#include<interrupt.h>
#include<driver.h>
#include<system.h>
#include<cmos.h>
#include<scheduler.h>
#include<hardware.h>
int main();
void _start() { main(); }
int main() {
	asm("cli");
	totale_ram_installata=get_sizeram(2);		// conteggio della ram
	init_video();
	set_page(0);
	printk("Driver video inizializzato.."); printok();
	init_gdt();
	printk("GDT caricata.."); printok();
	init_paging();
	printk("Paging della memoria avviata.."); printok();
	init_pic8259();
	printk("PIC8259A inizializzato.."); printok();
	init_IDT();
	printk("IDT caricatata.."); printok();
	init_timer();
	printk("Timer abilitato.."); printok();
	init_keyboard();
	printk("Keyboard abilitata.."); printok();
	printk("-------------------------------------\n");
	printk("SISTEMA PRONTO.\n\n");
	asm("sti");      

	// LOGO                                                                 
	printk("#######                      #    #                     \n");
	printk("#     # #####  ###### #    # #   #  #   # #####   ####  \n");
	printk("#     # #    # #      ##   # #  #    # #  #    # #    # \n");
	printk("#     # #    # #####  # #  # ###      #   #    # #    # \n");
	printk("#     # #####  #      #  # # #  #     #   #####  #    # \n");
	printk("#     # #      #      #   ## #   #    #   #   #  #    # \n");
	printk("####### #      ###### #    # #    #   #   #    #  ####  \n");
	printk(" Versione: 0.1b3 | Autore: Cozzubo Salvatore");

	init_console();
	while(1) console();
	asm("hlt");
}

